package com.spark.gaea.base;

import java.io.Serializable;
import java.util.Set;

public class CmdVo implements Serializable {
	private Class cmdClass;
	private String misId;
	private String code;
	private String name;
	private String group;
	private String groupName;
	private String description;
	private int isPub;
	private String type;
	private String since;
	private String usage;
	private String extend;
	private Set<String> includes;
	private Set<String> excludes;

	public String getId() {
		if (this.misId == null) {
			return this.name;
		}
		return this.misId + ":" + this.code;
	}

	public String getParentId() {
		if (this.misId == null || "0".equals(this.groupName)) {
			return this.groupName;
		}
		return this.misId + ":" + this.groupName;
	}

	public Class getCmdClass() {
		return this.cmdClass;
	}

	public String getMisId() {
		return this.misId;
	}

	public String getCode() {
		return this.code;
	}

	public String getName() {
		return this.name;
	}

	public String getGroup() {
		return this.group;
	}

	public String getGroupName() {
		return this.groupName;
	}

	public String getDescription() {
		return this.description;
	}

	public int getIsPub() {
		return this.isPub;
	}

	public String getType() {
		return this.type;
	}

	public String getSince() {
		return this.since;
	}

	public String getUsage() {
		return this.usage;
	}

	public String getExtend() {
		return this.extend;
	}

	public Set<String> getIncludes() {
		return this.includes;
	}

	public Set<String> getExcludes() {
		return this.excludes;
	}

	public void setCmdClass(final Class cmdClass) {
		this.cmdClass = cmdClass;
	}

	public void setMisId(final String misId) {
		this.misId = misId;
	}

	public void setCode(final String code) {
		this.code = code;
	}

	public void setName(final String name) {
		this.name = name;
	}

	public void setGroup(final String group) {
		this.group = group;
	}

	public void setGroupName(final String groupName) {
		this.groupName = groupName;
	}

	public void setDescription(final String description) {
		this.description = description;
	}

	public void setIsPub(final int isPub) {
		this.isPub = isPub;
	}

	public void setType(final String type) {
		this.type = type;
	}

	public void setSince(final String since) {
		this.since = since;
	}

	public void setUsage(final String usage) {
		this.usage = usage;
	}

	public void setExtend(final String extend) {
		this.extend = extend;
	}

	public void setIncludes(final Set<String> includes) {
		this.includes = includes;
	}

	public void setExcludes(final Set<String> excludes) {
		this.excludes = excludes;
	}

	public boolean equals(final Object o) {
		if (o == this) {
			return true;
		}
		if (!(o instanceof CmdVo)) {
			return false;
		}
		final CmdVo other = (CmdVo) o;
		if (!other.canEqual(this)) {
			return false;
		}
		final Object this$cmdClass = this.getCmdClass();
		final Object other$cmdClass = other.getCmdClass();
		Label_0065:
		{
			if (this$cmdClass == null) {
				if (other$cmdClass == null) {
					break Label_0065;
				}
			} else if (this$cmdClass.equals(other$cmdClass)) {
				break Label_0065;
			}
			return false;
		}
		final Object this$misId = this.getMisId();
		final Object other$misId = other.getMisId();
		Label_0102:
		{
			if (this$misId == null) {
				if (other$misId == null) {
					break Label_0102;
				}
			} else if (this$misId.equals(other$misId)) {
				break Label_0102;
			}
			return false;
		}
		final Object this$code = this.getCode();
		final Object other$code = other.getCode();
		Label_0139:
		{
			if (this$code == null) {
				if (other$code == null) {
					break Label_0139;
				}
			} else if (this$code.equals(other$code)) {
				break Label_0139;
			}
			return false;
		}
		final Object this$name = this.getName();
		final Object other$name = other.getName();
		Label_0176:
		{
			if (this$name == null) {
				if (other$name == null) {
					break Label_0176;
				}
			} else if (this$name.equals(other$name)) {
				break Label_0176;
			}
			return false;
		}
		final Object this$group = this.getGroup();
		final Object other$group = other.getGroup();
		Label_0213:
		{
			if (this$group == null) {
				if (other$group == null) {
					break Label_0213;
				}
			} else if (this$group.equals(other$group)) {
				break Label_0213;
			}
			return false;
		}
		final Object this$groupName = this.getGroupName();
		final Object other$groupName = other.getGroupName();
		Label_0250:
		{
			if (this$groupName == null) {
				if (other$groupName == null) {
					break Label_0250;
				}
			} else if (this$groupName.equals(other$groupName)) {
				break Label_0250;
			}
			return false;
		}
		final Object this$description = this.getDescription();
		final Object other$description = other.getDescription();
		Label_0287:
		{
			if (this$description == null) {
				if (other$description == null) {
					break Label_0287;
				}
			} else if (this$description.equals(other$description)) {
				break Label_0287;
			}
			return false;
		}
		if (this.getIsPub() != other.getIsPub()) {
			return false;
		}
		final Object this$type = this.getType();
		final Object other$type = other.getType();
		Label_0337:
		{
			if (this$type == null) {
				if (other$type == null) {
					break Label_0337;
				}
			} else if (this$type.equals(other$type)) {
				break Label_0337;
			}
			return false;
		}
		final Object this$since = this.getSince();
		final Object other$since = other.getSince();
		Label_0374:
		{
			if (this$since == null) {
				if (other$since == null) {
					break Label_0374;
				}
			} else if (this$since.equals(other$since)) {
				break Label_0374;
			}
			return false;
		}
		final Object this$usage = this.getUsage();
		final Object other$usage = other.getUsage();
		Label_0411:
		{
			if (this$usage == null) {
				if (other$usage == null) {
					break Label_0411;
				}
			} else if (this$usage.equals(other$usage)) {
				break Label_0411;
			}
			return false;
		}
		final Object this$extend = this.getExtend();
		final Object other$extend = other.getExtend();
		Label_0448:
		{
			if (this$extend == null) {
				if (other$extend == null) {
					break Label_0448;
				}
			} else if (this$extend.equals(other$extend)) {
				break Label_0448;
			}
			return false;
		}
		final Object this$includes = this.getIncludes();
		final Object other$includes = other.getIncludes();
		Label_0485:
		{
			if (this$includes == null) {
				if (other$includes == null) {
					break Label_0485;
				}
			} else if (this$includes.equals(other$includes)) {
				break Label_0485;
			}
			return false;
		}
		final Object this$excludes = this.getExcludes();
		final Object other$excludes = other.getExcludes();
		if (this$excludes == null) {
			return other$excludes == null;
		} else
			return this$excludes.equals(other$excludes);
	}

	protected boolean canEqual(final Object other) {
		return other instanceof CmdVo;
	}

	public int hashCode() {
		final int PRIME = 59;
		int result = 1;
		final Object $cmdClass = this.getCmdClass();
		result = result * 59 + (($cmdClass == null) ? 0 : $cmdClass.hashCode());
		final Object $misId = this.getMisId();
		result = result * 59 + (($misId == null) ? 0 : $misId.hashCode());
		final Object $code = this.getCode();
		result = result * 59 + (($code == null) ? 0 : $code.hashCode());
		final Object $name = this.getName();
		result = result * 59 + (($name == null) ? 0 : $name.hashCode());
		final Object $group = this.getGroup();
		result = result * 59 + (($group == null) ? 0 : $group.hashCode());
		final Object $groupName = this.getGroupName();
		result = result * 59 + (($groupName == null) ? 0 : $groupName.hashCode());
		final Object $description = this.getDescription();
		result = result * 59 + (($description == null) ? 0 : $description.hashCode());
		result = result * 59 + this.getIsPub();
		final Object $type = this.getType();
		result = result * 59 + (($type == null) ? 0 : $type.hashCode());
		final Object $since = this.getSince();
		result = result * 59 + (($since == null) ? 0 : $since.hashCode());
		final Object $usage = this.getUsage();
		result = result * 59 + (($usage == null) ? 0 : $usage.hashCode());
		final Object $extend = this.getExtend();
		result = result * 59 + (($extend == null) ? 0 : $extend.hashCode());
		final Object $includes = this.getIncludes();
		result = result * 59 + (($includes == null) ? 0 : $includes.hashCode());
		final Object $excludes = this.getExcludes();
		result = result * 59 + (($excludes == null) ? 0 : $excludes.hashCode());
		return result;
	}

	public String toString() {
		return "CmdVo(cmdClass=" + this.getCmdClass() + ", misId=" + this.getMisId() + ", code=" + this.getCode()
				+ ", name=" + this.getName() + ", group=" + this.getGroup() + ", groupName=" + this.getGroupName()
				+ ", description=" + this.getDescription() + ", isPub=" + this.getIsPub() + ", type=" + this.getType()
				+ ", since=" + this.getSince() + ", usage=" + this.getUsage() + ", extend=" + this.getExtend()
				+ ", includes=" + this.getIncludes() + ", excludes=" + this.getExcludes() + ")";
	}
}
